﻿
namespace Patterns4Net.ArchitectureExplorer.Diagram
{
    using Patterns4Net.Attributes;

    /// <summary>
    /// Represents a pattern instance (<see cref="IPattern"/>) and 
    /// additional information such as it's name loaded from documentation, 
    /// or it's abstraction level.
    /// </summary>
    public class PatternInfo
    {
        public PatternInfo(string name, IPattern pattern, AbstractionLevel abstractionLevel)
        {
            this.Name = name;
            this.Pattern = pattern;
            this.AbstractionLevel = abstractionLevel;
        }

        public string Name { get; private set; }

        public IPattern Pattern { get; private set; }

        public AbstractionLevel? AbstractionLevel { get; private set; }
    }
}
